#include <stdio.h>

/**
 * 约瑟夫生者死者小游戏
 * 30 个人在一条船上，超载，需要 15 人下船。于是人们排成一队，排队的位置即为他们的编号。
 * 报数，从 1 开始，数到 9 的人下船。如此循环，直到船上仅剩 15 人为止，问都有哪些编号
 * 的人下船了呢？
*/
int main(int argc, char const *argv[])
{
    int per[30];
    int i,k;
    int count = 0;
    for(i=0; i<30; i++)
    {
        per[i] = i + 1;
    }
    
    int j = 1;
    for(i=0; i<30; i++)
    {
        k=i;
        if((i+1) == 30)
            i = -1;

        if(per[k]==0)
            continue;

        if(j == 9)
        {
            count++;
            j = 1;
            printf(" %d号下船了\n", per[k]);
            per[k] = 0;
        } else
            j++;

        if(count==15)
            break;
     
    }

    return 0;
}